package com.github.prontera.model;

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.github.prontera.domain.enums.PayChannelEnum;
import com.github.prontera.domain.enums.PayTypeEnum;
import com.github.prontera.model.request.RestfulRequest;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}, ignoreUnknown = true)
public class PayRequest extends RestfulRequest{

	private static final long serialVersionUID = -8013238614014494468L;

	@ApiModelProperty(value = "实际支付类型", required = true, example = "1")
	@JsonProperty(value = "payType")
	private PayTypeEnum payType;
	@ApiModelProperty(value = "实际支付价格", required = true, example = "12.22")
	private BigDecimal amount;
	@JsonIgnore
	@ApiModelProperty(value = "用户ID", required = true, example = "854646464556")
	private Long clientId;
	@ApiModelProperty(value = "活动ID", required = true, example = "854646464556")
	private Long activityId;
	@ApiModelProperty(value = "查看用户Id", required = true, example = "854646464556")
	private Long lookClientId;
	@ApiModelProperty(value = "出租达人得ID", required = true, example = "854646464556")
	private Long talentClientId;
	@ApiModelProperty(value = "出租达人得标签ID", required = true, example = "854646464556")
	private Long rentId;
	@ApiModelProperty(value = "红包提问ID", required = true, example = "854646464556")
	private Long issueId;
	@ApiModelProperty(value = "任务ID", required = true, example = "854646464556")
	private Long taskId;
	@JsonIgnoreProperties
	@ApiModelProperty(value = "支付通道")
	private PayChannelEnum payChannel;
	@ApiModelProperty(value = "活动订单ID", required = true, example = "854646464556")
	private Long talendOrderId;
	@ApiModelProperty(value = "任务份数", required = true, example = "854646464556")
	private Integer number;

	
	public void setNumber(Integer number) {
		this.number = number;
	}

	public Long getTalendOrderId() {
		return talendOrderId;
	}

	public Long getTaskId() {
		return taskId;
	}

	public void setTaskId(Long taskId) {
		this.taskId = taskId;
	}

	public void setTalendOrderId(Long talendOrderId) {
		this.talendOrderId = talendOrderId;
	}

	public PayChannelEnum getPayChannel() {
		return payChannel;
	}

	public void setPayChannel(PayChannelEnum payChannelEnum) {
		this.payChannel = payChannelEnum;
	}

	public Long getIssueId() {
		return issueId;
	}

	public void setIssueId(Long issueId) {
		this.issueId = issueId;
	}

	public Long getTalentClientId() {
		return talentClientId;
	}

	public void setTalentClientId(Long talentClientId) {
		this.talentClientId = talentClientId;
	}

	public Long getRentId() {
		return rentId;
	}

	public void setRentId(Long rentId) {
		this.rentId = rentId;
	}

	public Long getLookClientId() {
		return lookClientId;
	}

	public void setLookClientId(Long lookClientId) {
		this.lookClientId = lookClientId;
	}

	public Long getActivityId() {
		return activityId;
	}

	public void setActivityId(Long activityId) {
		this.activityId = activityId;
	}

	public PayTypeEnum getPayType() {
		return payType;
	}

	public void setPayType(PayTypeEnum payType) {
		this.payType = payType;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public Long getClientId() {
		return clientId;
	}

	public void setClientId(Long clientId) {
		this.clientId = clientId;
	}

	public Integer getNumber() {
		return number;
	}
 

}
